home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-26 | 1.9 KB | 63 lines | [TEXT/ScoM] |
- Tonality Structure - creating a zone structure
-
- There are many ways of connecting zone length to melody or note length
- output. In the file TRIOX a zone length sequence is constructed from
- the output of a brownian motion fractal.
-
- (setq mat1 (gen-noise-brownian 9 0.4 0.4)) ; 512 values
- (setq mat2 (gen-noise-brownian 7 0.4 0.4)) ; 128 values
- (setq mat3 (gen-noise-brownian 5 0.4 0.4)) ; 32 values
-
- ; Nigel has been using tick value 96 for 1/4 note.
- ; Because Nigel often mixes ticks and ratios, the function must take
- ; both cases into account.
-
- (defun use-nigel-ticks (l)
- (let (out)
- (dolist (x l)
- (if (is-length-symbol x)
- (push x out)
- (push (* x 5) out)))
- (nreverse out)))
-
- (setq zone1a (use-nigel-ticks (vector-to-list (vector-round 192 384 mat3))))
-
- The 32 zones produced at this point lie between 192 and 384,
- that's 2/4 and 4/4.
-
- (setq zone1 (use-nigel-ticks (vector-to-list (vector-quantize 5 16 zone1a))))
-
- The next expression quantizes this output into 16 zones in 5 divisions;
-
- 192 240 288 336 384 = 2/4 5/8 6/8 7/8 4/4.
-
- This creates a metric scheme.
-
- (setq ptch1 (vector-to-symbol a o mat1))
- (setq ptch2 (vector-to-symbol a j mat2))
- (setq ptch3 (vector-to-symbol a e mat3))
-
- Each instrument then has its own pitch series derived from symbol
- ranges generated by different magnifications of the fractal.
-
- (def-symbol
- piano (find-change ptch1)
- sax (find-change ptch3)
- violin (find-change ptch2)
- )
-
- (def-length
- piano '(1/8)
- sax '(1/8)
- violin '(1/8)
- )
-
- In the instrument definitions there appears to be set up a monotonous
- rhythm for each part. In fact, by applying the function find-change
- to the pitch series, rhythmic phrases and counterpoint individual to
- each instrument are created. Now discover how the function find-change
- works:
-
- (setq ptch (find-change
- '(a a b c d d d f b b f e e f e d d d c b b a)))
-